Many non-software-programmable integrated circuits are statically configurable. For example, a set of mode control pins may be individually coupled through external resistors to either the power supply voltage or ground. These voltages are then read and decoded at power on reset or another triggering event and the device sent into the corresponding operating mode. There may even be multiple levels of decoding, with the voltages at one set of pins determining the decoding of another set of pins during static configuration.
In conventional static programming schemes, the number of static configuration (mode select) pins or pads required is generally a function of the number of modes available—the more programmable modes available, the more pins required to make the selection. For example, if 4 (i.e., 22) modes are available, then at least 2 pins are required for mode selection, while if 8 (i.e. 23) modes are available, then at least 3 mode select pins are required, and so on. Hence, these conventional schemes are typically adequate if the number of available programmable modes is relatively small and/or the required pins are available yet are limited in the number of pins or pads which are available for configuration purposes.
Notwithstanding, when a large number of programmable modes are provided and/or in instances where the number of available pins is limited, conventional static programming techniques are inadequate. Hence, improved circuits and methods are needed to support statically configurable integrated circuits, especially those, which provide the end-user with a number of configuration options.